home *** CD-ROM | disk | FTP | other *** search
-
-
-
- iiiillllMMMMppppRRRReeeeqqqquuuueeeesssstttt((((3333)))) IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll iiiillllMMMMppppRRRReeeeqqqquuuueeeesssstttt((((3333))))
-
-
-
- NNNNAAAAMMMMEEEE
- iiiillllMMMMppppRRRReeeeqqqquuuueeeesssstttt - a concurrently executed request
-
- IIIINNNNHHHHEEEERRRRIIIITTTTSSSS FFFFRRRROOOOMMMM
- ilMpNode
-
- HHHHEEEEAAAADDDDEEEERRRR FFFFIIIILLLLEEEE
- #include <il/ilMpManager.h>
-
- CCCCLLLLAAAASSSSSSSS DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
- ilMpRequest is derived from ilMpNode and represents an individual unit of
- processing for a parallel operation managed by ilMpManager (also derived
- from ilMpNode).
-
- CCCCLLLLAAAASSSSSSSS MMMMEEEEMMMMBBBBEEEERRRR FFFFUUUUNNNNCCCCTTTTIIIIOOOONNNN SSSSUUUUMMMMMMMMAAAARRRRYYYY
- CCCCoooonnnnssssttttrrrruuuuccccttttoooorrrr
-
- ilMpRequest(ilMpManager* parent, _p_r_o_t_e_c_t_e_d
- ilMpState initialState=ilMpPrep)
- ilMpRequest(ilMpRequest* sibling) _p_r_o_t_e_c_t_e_d
- ilMpRequest(ilMpState initialState=ilMpPrep) _p_r_o_t_e_c_t_e_d
-
- SSSSyyyynnnnccccrrrroooonnnniiiizzzzaaaattttiiiioooonnnn mmmmeeeetttthhhhooooddddssss
-
- void park(ilMpRequest* reqToPark)
- void unpark() _p_r_o_t_e_c_t_e_d
-
- GGGGeeeetttt////sssseeeetttt mmmmeeeetttthhhhooooddddssss
-
- ilMpManager* getParent()
- int hasSiblings() _p_r_o_t_e_c_t_e_d
- void setNextState(ilMpState next)
- ilMpState getNextState()
-
- DDDDeeeeffffeeeerrrrrrrreeeedddd eeeennnnqqqquuuueeeeuuuueeeeiiiinnnngggg
-
- void enqueue(ilMpState initialState=ilMpPrep) _p_r_o_t_e_c_t_e_d
-
- RRRReeeeqqqquuuueeeesssstttt pppprrrroooocccceeeessssssssiiiinnnngggg
-
- virtual ilStatus process() _p_r_o_t_e_c_t_e_d
-
-
- FFFFUUUUNNNNCCCCTTTTIIIIOOOONNNN DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNNSSSS
- iiiillllMMMMppppRRRReeeeqqqquuuueeeesssstttt(((())))
-
- ilMpRequest(ilMpManager* parent, _p_r_o_t_e_c_t_e_d
- ilMpState initialState=ilMpPrep)
- ilMpRequest(ilMpRequest* sibling) _p_r_o_t_e_c_t_e_d
- ilMpRequest(ilMpState initialState=ilMpPrep) _p_r_o_t_e_c_t_e_d
-
-
-
-
-
- PPPPaaaaggggeeee 1111
-
-
-
-
-
-
- iiiillllMMMMppppRRRReeeeqqqquuuueeeesssstttt((((3333)))) IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll iiiillllMMMMppppRRRReeeeqqqquuuueeeesssstttt((((3333))))
-
-
-
- These constructors add dependent requests that must be processed
- before the _p_a_r_e_n_t manager's work is considered completed. The
- initial state of the request is ilMpPrep by default but can be
- ilMpCompute or ilMpGraphics also, if the request has no further
- dependencies.
-
- The second form of the contructor gets its parent indirectly as the
- parent of _s_i_b_l_i_n_g. This form of the constructor is used when adding
- requests after the manager has been started, since a sibling must
- exist when this is called, there is no possibilty the parent manager
- will disappear while making this call. This form of the constructor
- requires that the eeeennnnqqqquuuueeeeuuuueeee() method be called after constructor to
- insert this request into the system. It is delayed like this to
- ensure that an ilMpRequest derived class if fully contructed before
- it's pppprrrroooocccceeeessssssss() virtual is invoked.
-
- The third form is used for rare parentless requests (don't use
- this).
-
- eeeennnnqqqquuuueeeeuuuueeee(((())))
-
- void enqueue(ilMpState initialState=ilMpPrep) _p_r_o_t_e_c_t_e_d
-
-
- This method is used to actually enqueue a request contructed with
- sibling form of the ilMpRequest constructor.
-
- ggggeeeettttNNNNeeeexxxxttttSSSSttttaaaatttteeee(((())))
-
- ilMpState getNextState()
-
-
- This method returns the next state for this request. See the
- sssseeeettttNNNNeeeexxxxttttSSSSttttaaaatttteeee() method for more details.
-
- ggggeeeettttPPPPaaaarrrreeeennnntttt(((())))
-
- ilMpManager* getParent()
-
-
- This is a specialized version of iiiillllMMMMppppNNNNooooddddeeee::::::::ggggeeeettttPPPPaaaarrrreeeennnntttt() that casts
- the parent to an ilMpManager (since request's parents are always
- managers.
-
- hhhhaaaassssSSSSiiiibbbblllliiiinnnnggggssss(((())))
-
- int hasSiblings() _p_r_o_t_e_c_t_e_d
-
-
- This method returns true of this request has siblings, this is an
- inherently unsafe query (i.e. the result may no longer be correct by
- the time it is examined).
-
-
-
- PPPPaaaaggggeeee 2222
-
-
-
-
-
-
- iiiillllMMMMppppRRRReeeeqqqquuuueeeesssstttt((((3333)))) IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll iiiillllMMMMppppRRRReeeeqqqquuuueeeesssstttt((((3333))))
-
-
-
- ppppaaaarrrrkkkk(((())))
-
- void park(ilMpRequest* reqToPark)
-
-
- This method is used to defer processing of a request when it needs
- to wait on the completion of this request (e.g. because this request
- is already doing the same work but we don't want the parked
- request's dependencies to be satisfied until this request
- completes).
-
- pppprrrroooocccceeeessssssss(((())))
-
- virtual ilStatus process() _p_r_o_t_e_c_t_e_d
-
-
- The process virtual is defined by a derived class to do the actual
- work of a request; typically the work will be broken down based an
- the request state (e.g. prepare/compute/finish) using a switch
- statement in the process() implementation.
-
- sssseeeettttNNNNeeeexxxxttttSSSSttttaaaatttteeee(((())))
-
- void setNextState(ilMpState next)
-
-
- This method sets the next state for this request. The next state
- info is used when a request phase completes and the request is ready
- to transition to the next phase. This method can be used to override
- the default transitions for a request.
-
- uuuunnnnppppaaaarrrrkkkk(((())))
-
- void unpark() _p_r_o_t_e_c_t_e_d
-
-
- This method unparks any requests that are currently in the park
- list. It assumes that no requests can ppppaaaarrrrkkkk() while unparking.
-
- IIIINNNNHHHHEEEERRRRIIIITTTTEEEEDDDD MMMMEEEEMMMMBBBBEEEERRRR FFFFUUUUNNNNCCCCTTTTIIIIOOOONNNNSSSS
- IIIInnnnhhhheeeerrrriiiitttteeeedddd ffffrrrroooommmm iiiillllMMMMppppNNNNooooddddeeee
- addProcessingTime(), clearStatus(), getDepth(), getParent(),
- getProcessingTime(), getState(), getStatus(), getTimingWeight(),
- inhibitAbort(), isAborting(), setStatus(), setTimingWeight()
-
- SSSSEEEEEEEE AAAALLLLSSSSOOOO
- ilMpNode(3), ilMpManager(3)
-
-
-
-
-
-
-
-
- PPPPaaaaggggeeee 3333
-
-
-
-